package EL;

public class ELstatement {
    /**
     *
     *  什么是EL表达式？EL表达式的作用？
     *  EL表达式的全称是：Expression Language。是表达式语言
     *  作用？EL表达式主要是代替Jsp页面中的表达式脚本在jsp页面中进行数据的输出
     *   输出语句比jsp简洁
     *   格式：${} 输出null值的时候是空串
     *   主要在jsp中输出数据
     *   主要是输出域对象中的数据
     *   当四个域中都有相同的key的数据的时候，EL表达式会按照4个域的从小到大的顺序去进行搜索，找到
     *   就输出。
     *   EL特点：
     *   El在找属性的时候不是直接找你的javaBean中有没有这个变量，
     *   而是找你的javaBean中有没有这个变量的get方法
     *   如果有，就算没有定义过变量也可以输出，如果没有
     *   就算你定义了变量，输出的时候依然报错
     *
     *   EL中关系运算
     *   ${== 或 eq}
     *   ${< 或 lt}
     *   ${> 或 gt}
     *   ${>= 或 ge}
     *   ${<= 或 le}
     *   EL中逻辑运算符 (与mysql相似)
     *   ${12==12 && 12>12} 或者 ${12==12 and 12>12}
     *   ${12==12 || 12>11} 或者 ${12==12 or 12>11}
     *   ${! ture} 或者 {not ture}
     *   EL中运算符
     *   ${12+12}
     *   ${12-12}
     *   ${18/12} or ${18 div 12}
     *   ${18%12} or ${18 mod 12}
     *
     *   EL中的empty运算
     *   可以判断一个数据是否为空，如果为空输出true，不为空输出false
     *    以下几种情况为空:
     *    1.只为null值的时候为空
     *    2.值为空串的时候,为空
     *    3.值是Object类型数组,长度为0的时候
     *    4.list,map集合元素个数为0的时候为空
     *    格式: ${empty emptyNull }
     *
     *   EL中的三元表达式
     *   格式 ${12!=12?值1:值2}
     *   EL中.运算和[]运算
     *   .运算可以输出Bean对象中某个属性的值
     *   []括号运算可以输出有序集合中某个元素的值
     *   并且[]中括号运算，还可以输出map集合中key里含有特殊字符(包含上面运算符)的key的值
     *   map.put("a.a.a","b");
     *   map.put("a+a+a","b");
     *   map.put("a>a>a","b");
     *   map.put("a||a||a","b");
     *   ${map['a.a.a']} 单双引号都可以
     *
     *   EL表达式中的11个隐含对象
     *   是EL表达式中自己定义的，可以直接使用
     *
     *       变量                          类型                  作用
     *   pageContext                 PageContextlmpl     可以获得jsp中的九大内置对象
     *   pageScope                   Map<String,Object>  可以获取pageContext域中的数据
     *   requestScope                Map<String,Object>  可以获取request域中的数据
     *   sessionScope                Map<String,Object>  可以获取sessiong域中的数据
     *   applicationScope            Map<String,Object>  可以获取servletContext域中的数据
     *   param                       Map<String,String>  可以获取请求参数的值
     *   pramValues                  Map<String,String[]>可以获取请求参数的值,获取多个值的时候使用
     *   header                      Map<String,String>  可以获得请求头的信息
     *   headerValuers               Map<String,String>  可以获得请求头的信息,获取多个值的时候使用
     *   cookie                      Map<String,cookie>  获取当前请求的cookie信息
     *   initParam                   Map<String,String>  可以获取在web.xml中配置的<context-param>上下文参数
     *
     *   EL获取四个特定域中的属性
     *   pageScope           ========    pageContext域
     *   requestScope        ========    request域
     *   sessionScope        ========    sessiong域
     *   applicationScope    ========   servletContext域
     *
     *
     *
     *   pageContext对象的使用
     *   1.协议：
     *   2.服务器ip：
     *   3.服务器端口：
     *   4.获取工程路径:
     *   5.获取请求方法：
     *   6.获取客户端ip地址：
     *   7.获取会话的id编号：
     *
     *
     *
     *
     *
     *   */
}
